package mongohelper.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import mongohelper._MongoFieldConverter;
import mongohelper._MongoFieldEncryptor;
import mongohelper.default_impl.DefaultMongoFieldConverter;
import mongohelper.default_impl.DefaultMongoFieldEncryptor;


@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MongoField {

	String fieldName();

	Class<? extends _MongoFieldEncryptor<?>> fieldEncryptor() default DefaultMongoFieldEncryptor.class;

	Class<? extends _MongoFieldConverter<?, ?>> fieldConverter() default DefaultMongoFieldConverter.class;

}
